class  Animal{
 public String name;
 public int age;

 public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void eat(){
     System.out.println(this.name+"正在吃饭");
 }
}

class Dog1 extends Animal {
    public Dog1(String name, int age) {
        super(name, age);
    }

    public void bark() {
        System.out.println(this.name + "汪汪叫");
    }

    public void eat() {
        System.out.println(this.name + "正在吃狗粮");//方法的重写：1：方法名相同，2：方法的参数列表相同(个数,顺序,类型);3：方法的返回值相同.
        //必须发生向上转型，且通过父类引用调用了父类和子类中的写法
    }

    class Bird extends Animal {
        public Bird(String name, int age) {
            super(name, age);
        }

        public void Qiqi() {
            System.out.println(this.name + "吱吱叫");
        }

        public void eat(){
            System.out.println(this.name+"正在啄米");
        }
    }

    public class test7 {
        public static void main(String[] args) {
  /*  Dog1 dog1=new Dog1();
    Animal animal=dog1;*/
            Animal animal1 = new Dog1("小白", 3);
            animal1.eat();

        }
    }
}
//总结：1：静态方法不能被重写，2：被private修饰的不能被重写；，3：被final[蜜蜂方法           ]修饰的不能被重写
